//#include <iostream>
//#include<cmath>
//using namespace std;
//
//
//bool is_prime(int m)
//{
//	if(m <= 1)
//	    return false;
//	for(int i = 2; i <= sqrt(m); i++)
//	{
//		if(m % i == 0)
//		    return false;
//	}
//	return true;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int flag = 0;
//	for(int i = 2; i + 2 <= n; i++)
//	{
//		if(is_prime(i) && is_prime(i+2))
//		{
//			cout << i << " " << i + 2 << endl;
//			flag++;
//		}
//	}
//	if(flag == 0)
//	    cout << "empty" << endl; 
//	return 0;
//}



//#include<iostream>
//#include<cmath>
//using namespace std;
//
//bool is_pa(int m)
//{
//	int s = m;
//	int ret = 0;
//	while(m)
//	{
//		ret = ret * 10 + m % 10;
//		m /= 10;
//	}
//	if(ret == s)
//	    return true;
//	else
//	    return false;
//}
//bool is_prime(int m)
//{
//	if(m <= 1)
//	    return false;
//	for(int i = 2; i <= sqrt(m); i++)
//	{
//		if(m % i == 0)
//		    return false;
//	}
//	return true;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int cnt = 0;
//	for(int i = 11; i <= n; i++)
//	{
//		if(is_prime(i) && is_pa(i))
//		    cnt++;
//	}
//	cout << cnt << endl;
//	return 0;
//}



#include<iostream>
#include<cmath>
using namespace std;


bool is_prime(int m)
{
	if(m <= 1)
	    return false;
	for(int i = 2; i <= sqrt(m); i++)
	{
	    if(m % i == 0)
		    return false;	
	}
	return true; 
}

int is_reverse(int m)
{
	int ret = 0;
	while(m)
	{
		ret = ret * 10 + m % 10;
		m = m / 10;
	}
	return ret;
}
int main()
{
	int m, n;
	cin >> m >> n;
	int flag = 0;
	for(int i = m; i <= n; i++)
	{
		int a = i;
		int i2 = is_reverse(a);
		if(is_prime(i) && is_prime(i2))
		{
			if(flag)
			    cout << ",";
			cout << i;
			flag++;
		}
	}
	if(flag == 0)
	    cout << "No";
	return 0;
}
